110 research outputs found

    Crypto'Graph: Leveraging Privacy-Preserving Distributed Link Prediction for Robust Graph Learning

    Full text link
    Graphs are a widely used data structure for collecting and analyzing relational data. However, when the graph structure is distributed across several parties, its analysis is particularly challenging. In particular, due to the sensitivity of the data each party might want to keep their partial knowledge of the graph private, while still willing to collaborate with the other parties for tasks of mutual benefit, such as data curation or the removal of poisoned data. To address this challenge, we propose Crypto'Graph, an efficient protocol for privacy-preserving link prediction on distributed graphs. More precisely, it allows parties partially sharing a graph with distributed links to infer the likelihood of formation of new links in the future. Through the use of cryptographic primitives, Crypto'Graph is able to compute the likelihood of these new links on the joint network without revealing the structure of the private individual graph of each party, even though they know the number of nodes they have, since they share the same graph but not the same links. Crypto'Graph improves on previous works by enabling the computation of a certain number of similarity metrics without any additional cost. The use of Crypto'Graph is illustrated for defense against graph poisoning attacks, in which it is possible to identify potential adversarial links without compromising the privacy of the graphs of individual parties. The effectiveness of Crypto'Graph in mitigating graph poisoning attacks and achieving high prediction accuracy on a graph neural network node classification task is demonstrated through extensive experimentation on a real-world dataset

    Oblivious Turing Machine

    Get PDF
    In the ever-evolving landscape of Information Technologies, private decentralized computing on an honest yet curious server has emerged as a prominent paradigm. While numerous schemes exist to safeguard data during computation, the focus has primarily been on protecting the confidentiality of the data itself, often overlooking the potential information leakage arising from the function evaluated by the server. Recognizing this gap, this article aims to address the issue by presenting and implementing an innovative solution for ensuring the privacy of both the data and the program. We introduce a novel approach that combines the power of Fully Homomorphic Encryption with the concept of the Turing Machine model, resulting in the first fully secure practical, non-interactive oblivious Turing Machine. Our Oblivious Turing Machine construction is based on only three hypothesis, the hardness of the Ring Learning With Error problem, the ability to homomorphically evaluate non-linear functions and the capacity to blindly rotate elements of a data structure. Only based on those three assumptions, we propose an implementation of an Oblivious Turing Machine relying on the TFHE cryptosystem and present some implementation results

    NFLlib: NTT-based Fast Lattice Library

    Get PDF
    International audienceRecent years have witnessed an increased interest in lattice cryptography. Besides its strong security guarantees, its simplicity and versatility make this powerful theoretical tool a promising competitive alternative to classical cryptographic schemes. In this paper, we introduce NFLlib, an efficient and open-source C++ library dedicated to ideal lattice cryptography in the widely-spread polynomial ring Zp[x]/(x n + 1) for n a power of 2. The library combines al-gorithmic optimizations (Chinese Remainder Theorem, optimized Number Theoretic Transform) together with programming optimization techniques (SSE and AVX2 specializations, C++ expression templates, etc.), and will be fully available under the GPL license. The library compares very favorably to other libraries used in ideal lattice cryptography implementations (namely the generic number theory libraries NTL and flint implementing polynomial arithmetic, and the optimized library for lattice homomorphic encryption HElib): restricting the library to the aforementioned polynomial ring allows to gain several orders of magnitude in efficiency

    PROBONITE : PRivate One-Branch-Only Non-Interactive decision Tree Evaluation

    Get PDF
    Decision trees are among the most widespread machine learning model used for data classification, in particular due to their interpretability that makes it easy to explain their prediction. In this paper, we propose a novel solution for the private classification of a client request in a non-interactive manner. In contrast to existing solutions to this problem, which are either interactive or require evaluating all the branches of the decision tree, our approach only evaluates a single branch of the tree. Our protocol is based on two primitives that we also introduce in this paper and that maybe of independent interest : Blind Node Selection and Blind Array Access. Those contributions are based on recent advances in homomorphic cryptography, such as the functional bootstrapping mechanism recently proposed for the Fully Homomorphic Encryption over the Torus scheme TFHE. Our private decision tree evaluation algorithm is highly efficient as it requires only one round of communication and dd comparisons, with dd being the depth of the tree, while other state-of-the-art non-interactive protocols need 2d2^d comparisons

    Collaborative backup for dependable mobile applications

    No full text

    CONTRIBUTIONS À LA RÉSILIENCE ET AU RESPECT DE LA VIE PRIVÉE DES SYSTÈMES MOBIQUITAIRES

    No full text
    The works presented in this dissertation are representative of my activities in the field of resilience and privacy for ubiquitous mobile systems. They are organized according to three research areas : the use of reflection for the construction of dependable architectures, resilient mobiquitous systems (architectures, algorithms and evaluation) and geo-privacy. The first research area concerns fault tolerance for distributed systems, from an architectural and language viewpoint. In this work, I have investigated the use of compile-time reflection to facilitate the implementation of fault tolerance mechanisms independently of the application. The use of reflection has been studied in the context of both theoretical work on multi-level reflexivity, and more practical work on the implementation of reflective off-the-shelf components in embedded software architectures. The second research area concerns fault tolerance in mobile systems. My angle of attack was to consider mobility as an asset and not as a potential difficulty. This approach led me to explore the concept of geographical communication groups : how to define a group of communicating entities according to their respective location or as a function of their proximity. Then, I proposed a cooperative backup service, where the participating nodes offer a p2p secure storage service that they can use to back up their critical data. This approach was also followed to provide a virtual black box service for cars. These works were treated from both algorithmic and architectural viewpoints, and also in terms of analytical and experimental dependability assessment. As part of my research on the resilience of mobiquitous systems, ethical issues were raised : how to exploit mobility data of individuals, while preserving their privacy ? This raised my interest in what can be called geo-privacy. This third area is now the major focus of my research, both in terms of attacks and protection. We propose a Markov mobility model as a compact, accurate, understandable and easily adaptable tool to represent the mobility of an individual. Based on this mobility model, we propose several attacks that target, e.g., prediction of future mobility, and de-anonymisation. Regarding the protection of geo-privacy, we are currently working on middleware-level abstractions, such as locanyms and location proofs to provide a secure and private architecture for location-based systems. These works were linked with each other through a mixture of chance and serendipity, and the pursuit of a common goal : providing means for architectural and algorithmic resilience of current computer systems, namely distributed, mobile, ubiquitous systems. Many avenues of research are still open and are discussed.Les travaux prĂ©sentĂ©s dans ce mĂ©moire rĂ©sument l'ensemble de mes activitĂ©s dans le domaine de la rĂ©silience et du respect de la vie privĂ©e dans les systĂšmes ubiquitaires mobiles. Ils s'orientent sur trois axes principaux : l'utilisation de la rĂ©flĂ©xivitĂ© pour la construction d'architectures sĂ»res, la rĂ©silience des systĂšmes mobiquitaires (architectures, algorithmes et leur Ă©valution), et la geoprivacy. Le premier axe concerne la tolĂ©rance aux fautes pour les systĂšmes distribuĂ©s, sous un angle architecture et langage. Dans ces travaux, j' ai Ă©tudiĂ© l'utilisation de la rĂ©flexivitĂ© Ă  la compilation et Ă  l'exĂ©cution afin de faciliter l'implĂ©mentation de mĂ©canismes de tolĂ©rance aux fautes indĂ©pendemment de l'application. L'utilisation de la rĂ©flexivitĂ© a Ă©tĂ© Ă©tudiĂ©e dans le cadre de travaux thĂ©oriques, concernant la rĂ©flexivitĂ© multi-niveaux, ou plus pratiques, comme la mise en oeuvre de la rĂ©flexivitĂ© sur des composants sur Ă©tagĂšres, dans une architecture logicielle embarquĂ©e, ou pour permettre l'adaptation de mĂ©canismes de tolĂ©rance aux fautes Ă  l'exĂ©cution. Le chapitre 1 prĂ©sente ces diffĂ©rents travaux. Le deuxiĂšme axe concerne la tolĂ©rance aux fautes dans les systĂšmes mobiles. Mon approche a Ă©tĂ© d'aborder la mobilitĂ© comme un atout et non pas comme une difficultĂ©. Cette approche m'a menĂ© Ă  Ă©tudier la notion de communication de groupes gĂ©ographiques : comment dĂ©finir un groupe d'entitĂ©s communicantes en fonction de leur localisation respective ou en fonction de leur proximitĂ©. J'ai ensuite, sous l'angle du pair-Ă -pair, proposĂ© un systĂšme de sauvegarde coopĂ©rative de donnĂ©es, oĂč les noeuds mobiles participants offrent un service de stockage sĂ©curisĂ© qu'ils peuvent utiliser afin de sauvegarder leurs donnĂ©es critiques. Cette solution a Ă©tĂ© Ă©galement dĂ©clinĂ©e pour offrir un systĂšme de boĂźte noire virtuelle pour l'automobile. Ces travaux ont Ă©tĂ© traitĂ©s sous des angles algorithmique et architecturaux, mais Ă©galement sous l'angle de l'Ă©valuation de la sĂ»retĂ© de fonctionnement, Ă  la fois analytique et expĂ©rimentale. Ces travaux font l'objet du chapitre 2. Dans le cadre de mes recherches sur la rĂ©silience des systĂšmes mobiquitaires, des questions d'ordre dĂ©ontologique ont Ă©tĂ© soulevĂ©es : comment exploiter des donnĂ©es de mobilitĂ© individuelles tout en prĂ©servant la vie privĂ©e des individus ? C'est Ă  cette occasion que je me suis intĂ©ressĂ© Ă  ce que l'on peut nommer la geoprivacy. Ce domaine reprĂ©sente maintenant la majeure partie de mes travaux, tant sous l'angle des attaques que sous celui de la protection. Nous proposons un modĂšle Markovien de mobilitĂ© individuelle, outil Ă  la fois compact, prĂ©cis, intelligible et facilement adaptable pour reprĂ©senter la mobilitĂ© d'un individu. Sur la base de ce modĂšle de mobilitĂ©, nous proposons plusieurs attaques qui ciblent par exemple la prĂ©diction des dĂ©placements futurs, ou encore la des-anonymisation. En ce qui concerne la protection de la geoprivacy, nous travaillons actuellement sur des abstractions de niveau intergiciel, tel les locanymes ou les localisation vĂ©rifiĂ©es, afin de proposer une architecture sĂ»re et respectueuse de la vie privĂ©e pour les systĂšmes gĂ©olocalisĂ©s. Le chapitre 3 aborde ces aspects de ma recherche. Ces diffĂ©rents travaux se sont enchaĂźnĂ©s dans un mĂ©lange de hasard, de sĂ©rendipitĂ© et de poursuite d'un objectif commun : fournir des moyens algorithmiques et architecturaux pour la rĂ©silience des systĂšmes informatiques actuels, Ă  savoir distribuĂ©s, mobiles, ubiquitaires. Les techniques et outils que j'utilise pour aborder cette problĂ©matique large auront Ă©tĂ© divers et variĂ©s, cela participe Ă  mon expĂ©rience, sans cesse renouvelĂ©e. De nombreuses pistes de recherche sont encore ouvertes et sont exposĂ©es dans le chapitre 4

    Tolérance aux fautes sur CORBA par protocole à métaobjets et langages réflexifs

    No full text
    The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfying in this context. We define a protocol that enables dynamic control of both the behaviour and internal state of Corba objects and of clients/servers and objects/metaobjects links. The implementation we propose is well adapted to a standard Corba platform thanks to the use of open languages and compile-time reflection: these tools allow the compilation process to be customized in order to obtain information that is necessary to fault-tolerance mechanisms. Another benefit of compile-time reflection is to enable, in a simple way, to enforce programming conventions thanks to the filtering of application source code. This protocol, well integrated with Corba, can also benefit from reflective properties of the underlying language runtime, such as the limited reflection provided by Java for object serialization. When the language runtime is not reflective, as for C++, compile-time reflection can be used to implement methods for saving or restoring the internal state of objects; both complete or partial state can be controlled by metaobjects. The various properties of this metaobject protocol are illustrated in an architecture proposal which allows fault-tolerance mechanisms to be integrated to the application in a flexible manner. This approach offers useful properties such as separation of concerns between the application and the non-functional mechanisms implemented as metaobjects, dynamicity of links between objects and metaobjects, composability and reuse of mechanisms and user transparency. Finally, this metaobject protocol is sufficiently generic to take advantage of any openness, in a reflective sense, of the platform's underlying software (operating system and middleware).L'objectif de cette thĂšse est la conception et l'implĂ©mentation d'un protocole Ă  mĂ©taobjets adaptĂ© Ă  la tolĂ©rance aux fautes d'objets Corba. En effet, il n'existe pas, Ă  ce jour, de protocole Ă  mĂ©taobjets satisfaisant dans ce contexte. Le protocole que nous dĂ©finissons permet, d'une part, le contrĂŽle du comportement et de l'Ă©tat interne des objets Corba, et d'autre part, le contrĂŽle des liens entre clients et serveur ainsi qu'entre objets et mĂ©taobjets, le tout de façon dynamique. L' implĂ©mentation proposĂ©e est adaptĂ©e Ă  l'utilisation d'une plateforme Corba standard grĂące Ă  l'utilisation de langages ouverts et de rĂ©flexivitĂ© Ă  la compilation : ces outils permettent de personnaliser le processus de compilation afin d'exhiber Ă  l'exĂ©cution les informations nĂ©cessaires aux mĂ©canismes de tolĂ©rance aux fautes. Un autre avantage de la rĂ©flexivitĂ© Ă  la compilation est de permettre, de façon simple, d'assurer le respect de conventions de programmation grĂące au filtrage du code source des applications. Ce protocole, bien intĂ©grĂ© Ă  Corba, tire Ă©galement profit, lorsque c'est possible, des Ă©lĂ©ments rĂ©flexifs fournis par le support d'exĂ©cution du langage. C'est le cas avec Java, par exemple, qui permet la sĂ©rialisation des objets, grĂące Ă  ses aspects rĂ©flexifs limitĂ©s. Lorsque le support du langage n'est pas rĂ©flexif, comme pour C++ par exemple, la rĂ©flexivitĂ© Ă  la compilation permet Ă©galement de mettre en Âżuvre des techniques de sauvegarde et de restauration de l'Ă©tat des objets ; Ă©tat complet et Ă©tat partiels peuvent ĂȘtre contrĂŽlĂ©s par les mĂ©taobjets. Les diffĂ©rentes propriĂ©tĂ©s de ce protocole Ă  mĂ©taobjets sont illustrĂ©es par une proposition d'architecture Corba permettant d'intĂ©grer Ă  l'application des mĂ©cansimes de tolĂ©rance aux fautes de maniĂšre trĂšs flexible. Les propriĂ©tĂ©s de cette approche sont une bonne sĂ©paration entre l'application et les mĂ©canismes non-fonctionnels implĂ©mentĂ©s dans les mĂ©taobjets, l'aspect dynamique du lien entre objets et mĂ©taobjets, la composabilitĂ© et la rĂ©utilisation des mĂ©canismes ainsi que la transparence pour l'utilisateur. Enfin, ce protocole Ă  mĂ©taobjets est suffisamment gĂ©nĂ©rique pour tirer parti de l' ouverture, au sens de la rĂ©flexivitĂ©, des logiciels de base (systĂšme d'exploitation et middleware) de la plateforme

    Safecomp FastAbstract 25th September 2013

    No full text
    Books of the Safecomp FastAbstract, 25th of september 2013, Toulouse, France. Marc-olivier Killijian, EditorEach FastAbstract will have a 60 seconds short presentation on the 25th from 16:00. Then the posters will be presented until 17:30

    Portable Serialization of CORBA Objects: a Reflective Approach

    No full text
    The objective of this work is to define, implement and illustrate a portable serialization technique for CORBA objects. We propose an approach based on reflection: through open compilers facilities the internal state of CORBA objects is obtained and transformed into a language independent format using CORBA mechanisms. This state can be restored and used by objects developed using different languages and running on different software platforms. A tool was developed and applied to a Chat application as a case study. The proposed technique is used to exchange state information between a C++ and a Java incarnation of this CORBA service. An observer tool enables the object state to be displayed and analyzed by the user. The applicability of this technique to various domains is discussed. Beyond the interest of language reflection, we finally advocate that operating system and middleware reflection would also be powerful concepts to extend the work presented in this paper
    • 

    corecore